Skip to content

feat(stovepipe): Wire build analysis pipeline - #909

Merged
prathshenoy merged 2 commits into
codex/stovepipe-buildanalysis-controllerfrom
codex/stovepipe-buildanalysis-wiring
Oct 22, 2026
Merged

prathshenoy merged 2 commits into
codex/stovepipe-buildanalysis-controllerfrom
codex/stovepipe-buildanalysis-wiring

Conversation

@prathshenoy

@prathshenoy prathshenoy commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

What:

  • Connect build analysis to build-start and completion notifications, using a no-op detector in the reference service while keeping result recording independent.
  • Configure bounded analysis retries and connect dead-letter recovery that records incomplete analysis without rerunning detection.

Why:

  • Keep result recording independent of issue detection while allowing deployments to provide real detection.

Test Plan

  • Add unit tests.
  • Verify the reference service integration with its default detector.

Revert Plan

  • Revert this PR. No schema changes need reversal, and existing observations can remain stored without affecting prior build processing.

Issue Links

Stack

  1. feat(stovepipe): Persist build issue observations #902
  2. feat(stovepipe): Add build analysis polling #907
  3. feat(stovepipe): Record incomplete build analysis #915
  4. feat(stovepipe): Wire build analysis pipeline #909
  5. feat(stovepipe): Store currently open issues #916

@prathshenoy
prathshenoy force-pushed the codex/stovepipe-buildanalysis-wiring branch 3 times, most recently from 31fae0b to bff07ae Compare October 22, 2026 00:20
@prathshenoy prathshenoy changed the title feat(stovepipe): Wire optional build analysis feat(stovepipe): Wire build analysis pipeline Oct 22, 2026
@prathshenoy
prathshenoy force-pushed the codex/stovepipe-buildanalysis-wiring branch from bff07ae to b81aae1 Compare October 22, 2026 00:39
@prathshenoy
prathshenoy force-pushed the codex/stovepipe-buildanalysis-wiring branch 2 times, most recently from 64ed398 to e657d69 Compare October 22, 2026 03:20
@prathshenoy
prathshenoy force-pushed the codex/stovepipe-buildanalysis-wiring branch from e657d69 to a857899 Compare October 22, 2026 03:36
@prathshenoy
prathshenoy force-pushed the codex/stovepipe-buildanalysis-wiring branch 2 times, most recently from beb6b3d to 0df65b2 Compare October 22, 2026 03:59
@prathshenoy
prathshenoy force-pushed the codex/stovepipe-buildanalysis-wiring branch from 0df65b2 to 1d44584 Compare October 22, 2026 04:08
@prathshenoy
prathshenoy changed the base branch from codex/stovepipe-buildanalysis-controller to codex/stovepipe-buildanalysis-recovery October 22, 2026 04:08
@prathshenoy
prathshenoy added this pull request to stack #920 October 22, 2026 13:25
@prathshenoy
prathshenoy marked this pull request as ready for review October 22, 2026 13:28

@mnoah1 mnoah1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see the comment below regarding errs.Group before merging.

Comment thread stovepipe/controller/build/build.go Outdated
@prathshenoy
prathshenoy force-pushed the codex/stovepipe-buildanalysis-wiring branch from 1d44584 to d905685 Compare October 22, 2026 14:50
@prathshenoy
prathshenoy enabled stacked auto-merge October 22, 2026 15:03
@prathshenoy
prathshenoy added this pull request to the merge queue Oct 22, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 22, 2026
@prathshenoy
prathshenoy force-pushed the codex/stovepipe-buildanalysis-wiring branch from d905685 to 62c8e8a Compare October 22, 2026 15:21
@prathshenoy
prathshenoy added this pull request to the merge queue Oct 22, 2026
Merged via the queue into main with commit 0ef1667 Oct 22, 2026
21 checks passed
Base automatically changed from codex/stovepipe-buildanalysis-recovery to codex/stovepipe-buildanalysis-controller October 22, 2026 15:57
@prathshenoy
prathshenoy deleted the codex/stovepipe-buildanalysis-wiring branch October 22, 2026 15:57
DivyanshGarg380 pushed a commit to DivyanshGarg380/submitqueue that referenced this pull request Oct 24, 2026
## Summary

**What**:

- Persist individual validation issue observations per build and queue,
with duplicate detection.

**Why**:

- Retain observed failures across polls and restarts without replacing
earlier observations or rewriting serialized collections.

## Test Plan

- [x] Add unit tests.
- [x] Verify persistence against a real MySQL database.

## Revert Plan

- Revert this PR. No runtime consumer is enabled; the additive table can
remain unused without affecting validation.

## Issue Links

- [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis)

## Stack

1. uber#902
1. uber#907
1. uber#915
1. uber#909
1. uber#916
DivyanshGarg380 pushed a commit to DivyanshGarg380/submitqueue that referenced this pull request Oct 24, 2026
## Summary

**What**:

- Add periodic issue detection and durable observation recording, with a
final pass after observing build completion.
- Stop polling validations that end without a recorded build result and
use normal queue retry handling for analysis failures.

**Why**:

- Accumulate validation failures before build completion and retry
partial persistence without duplicating observations.

## Test Plan

- [x] Add unit tests.

## Revert Plan

- Revert this PR. No runtime wiring or schema changes are introduced,
and existing build processing is unchanged.

## Issue Links

- [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis)

## Stack

1. uber#902
1. uber#907
1. uber#915
1. uber#909
1. uber#916
DivyanshGarg380 pushed a commit to DivyanshGarg380/submitqueue that referenced this pull request Oct 24, 2026
## Summary

**What**:

- Record one history event per build when analysis cannot complete,
without rerunning detection or changing validation results.
- Retry history recovery failures while acknowledging messages that
cannot identify a valid build and request.

**Why**:

- Make potentially incomplete failure information visible without
blocking validation or repeatedly querying the build provider.

## Test Plan

- [x] Add unit tests.

## Revert Plan

- Revert this PR. No runtime wiring or schema changes are introduced, so
existing validation behavior is unchanged.

## Issue Links

- [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis)

## Stack

1. uber#902
1. uber#907
1. uber#915
1. uber#909
1. uber#916
DivyanshGarg380 pushed a commit to DivyanshGarg380/submitqueue that referenced this pull request Oct 24, 2026
## Summary

**What**:

- Add queue-scoped storage for currently open issues, retaining the
build that opened each occurrence.
- Make deletion safe to repeat without removing a later opening of the
same issue.

**Why**:

- Separate current issue state from immutable per-build observations and
prepare for issue lifecycle history without enabling reconciliation yet.

## Test Plan

- [x] Add unit tests.
- [x] Verify open, remove, reopen, and concurrent creation against
MySQL.

## Revert Plan

- Revert this PR. No runtime writer is enabled; the additive table can
remain unused without affecting validation.

## Issue Links

- [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis)

## Stack

1. uber#902
1. uber#907
1. uber#915
1. uber#909
1. uber#916
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants